Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002 2001
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Nigeria F1 Nigeria F2 Portugal F3 Italy F1 Tunisia F2 Tunisia F3 Spain F17 Spain F18 Romania F16 Portugal #1-w2 Portugal #1-w3 Portugal #1-w4 Spain F31 Portugal #1-w1 Portugal #1-w2 Portugal #1-w3 Portugal #1-w4 Portugal F1 Morocco F1 Morocco F2 Spain F29 Spain F32 Morocco F1 Portugal F3 Portugal F1 Spain F24 Spain F25 Spain F27 Spain F28 Germany F12 Italy F27 Italy F28 Italy F1 Portugal F2 Spain F13 Portugal F4 Portugal F4 Portugal F5 Spain F39 Spain F41 Spain F42 Portugal F5 Portugal F6 Spain F13 Italy F13 Spain F31 Spain F32 Spain F6 Spain F7 Spain F9 Spain F10 Spain F11 Spain F12 Spain F13 Spain F15 Morocco F4 Italy F18 Spain F28 Spain F29 Spain F31 Spain F38 Spain F39 Spain F41 Spain F1 Spain F2 Spain F4 Spain F5 Spain F6 Croatia F5 Italy F3 Italy F5 Spain F10 Spain F11 Spain F12 Spain F14 Poland F3 Italy F13 France F13 Czech Republic F5 Spain F22 Poland F5 Spain F26 Spain F27 Spain F30 Spain F32 Morocco F6 Morocco F7 Morocco F9 Spain F2 Spain F3 Portugal F1 Spain F4 Portugal F2 Portugal F3 Portugal F4 Spain F6 Spain F7 Spain F8 Italy F12 Romania F4 Italy F13 Spain F19 Italy F15 Poland F3 Poland F4 Italy F22 Poland F5 Spain F32 Spain F33 Spain F34 Portugal F10 Portugal F11 Spain F36 Spain F38 Egypt F3 Spain F1 Spain F3 Spain F4 Italy F6 Italy F7 Peru F2 Peru F3 Italy F3 Spain F29 Portugal F9 Spain F30 Portugal F10 Portugal F11 Sri Lanka F1 Sri Lanka F2 Sri Lanka F3 Portugal F1 Portugal F3 Qatar F1 Qatar F2 Qatar F3 Spain F29 Spain F33 Portugal F12 Tunisia F4 Portugal F1 Portugal F3 Spain F7 Spain F8 Portugal F4 Spain F34 Germany F4 Morocco F2 Great Britain F1 Spain F12 Spain F6 Spain F6 Spain F7 Morocco F2 Portugal F2 Morocco F3 Portugal #1-w1 Spain F32 Romania F17 Spain F30 Copa Petrobras-Argentina - Buenos Aires Cordenons Challenger Guayaquil Challenger Cancun Challenger Sao Paulo Challenger Napoli Challenger Rome Challenger Tunis Challenger Prostejov Challenger Lugano Challenger Poznan Challenger San Marino Challenger Como Challenger Buenos Aires Challenger Santiago Challenger Sao Paulo Challenger Copa Petrobras-Paraguay - Asuncion Marrakech Challenger Rijeka Challenger Braunschweig Challenger Poznan Challenger Athens Challenger Szczecin Challenger Madrid Challenger Buenos Aires Challenger Rome Challenger Rome Challenger Seville Challenger Marbella Challenger Itajai Challenger Karshi Challenger Samarkand Challenger Scheveningen Challenger s'Tennis Masters Challenger - Graz Orbetello Challenger Segovia Challenger Sibiu Challenger Chennai Challenger New Delhi Challenger Genova Challenger Sao Paulo Challenger Prague Challenger Marburg Challenger San Benedetto Challenger LXV Concurso Internacional Vigo - Vigo Poznan Challenger Liberec Challenger Brasov Challenger Seville Challenger Kenitra Challenger Lima Challenger Casablanca Challenger Bucaramanga Challenger Santo Domingo Challenger Guangzhou Challenger Napoli Challenger Mersin Challenger Bordeaux Challenger Tampere Challenger Prague Challenger Manerbio Challenger Como Challenger Mohammedia Challenger Casablanca Challenger Guayaquil Challenger Buenos Aires Challenger Kosice Challenger Guadalajara Challenger Napoli Challenger Prague Challenger Mohammedia Challenger Ostrava Challenger Sophia Antipolis Challenger Lisbon Challenger Poprad Tatry Challenger Bastad Challenger Cordenons Challenger Meknes Challenger Banja Luka Challenger Rome Challenger Guayaquil Challenger Montevideo Challenger Meknes Challenger Rio De Janeiro Challenger Prostejov Challenger Kolkata Challenger Alicante Challenger Medellin Challenger Prostejov Challenger Braunschweig Challenger Sao Paulo Challenger Szczecin Challenger Poznan Challenger Seville Challenger Florence Challenger Barcelona Challenger Brest Challenger Phoenix Challenger Santos Challenger Furth Challenger Buenos Aires Challenger Todi Challenger Murcia Challenger Alphen Challenger Lisbon Challenger Meknes Challenger Genova Challenger Szczecin Challenger Barcelona Challenger Brest Challenger Vicenza Challenger Bendigo Challenger Mestre Challenger Perugia Challenger Open de Montauban - Montauban Liberec Challenger Guayaquil Challenger Campinas Challenger Cali Challenger Kenitra Challenger Belgrade Challenger Salzburg-Anif Challenger Seville Challenger Szczecin Challenger Furth Challenger Marbella Challenger Shenzhen Challenger Oeiras 3 Challenger Santo Domingo Challenger Seville Challenger Szczecin Challenger Parma Challenger L'Aquila Challenger Madrid Challenger Gran Canaria Challenger Como Challenger Luedenscheid Challenger Brasov Challenger Montechiarugolo - Parma Challenger San Benedetto Challenger Amersfoort Challenger Poznan Challenger Cortina Challenger Todi Challenger Aix En Provence Challenger Biella Challenger Phoenix Challenger Perugia Challenger Salzburg Challenger Manerbio Challenger Sao Paulo Challenger Valencia Challenger Casablanca Challenger VIII Open Internacional D'Andorra - Andorra Itajai Challenger Vicenza Challenger Olbia Challenger - Olbia ECM Prague Open 2005 - Prague Badden Open by Rothaus - Ettlingen Schickendanz Open - Furth Trofeo Internacional Club Laieta - Barcelona Societa Canottieri Mincio 2005 - Mantova Arroyo de la Encomienda - Valladolid 7° Trani Cup - Trani San Marino Cepu Open - San Marino Antonio Savoldi-Marco Co. - Manerbio San Benedetto Challenger - San Benedetto XI Ciutat de Barcelona - Barcelona Napoli Challenger Bancolombia Open - Cali Poznan Challenger San Marino Challenger Tunis Open - Tunis Estoril Open - Estoril Brasil Open - Costa do Sauipe Cordenons Challenger Copa Sevilla Internacionales de Andalucia - Seville Rabat Challenger Bulgarian Open Challenger - Sofia X Ciutat de Barcelona - Barcelona Brasil Open - Costa do Sauipe Abierto Internacional Varonil Ciudad de Cancun - Cancun Estoril Open - Estoril Bordeaux Challenger Open Diputacion Ciudad de Pozoblanco - Cordoba Prague Challenger Rome Challenger Santos Challenger Tanger Challenger Tanger Challenger Brasil Open - Costa do Sauipe Bordeaux Challenger Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona ATU Cup - Weiden Heineken Open - Auckland ATP Studena Croatia Open - Umag Rabat Challenger Mohammedia Challenger Grand Prix Hassan II - Casablanca Portoroz Challenger Qatar ExxonMobil Open - Doha Cortina Challenger Cordenons Challenger Brasil Open - Sao Paulo Meknes Challenger Copa Claro - Buenos Aires Open Sabadell Atlantico - Barcelona Estoril Open - Estoril Caltanissetta Challenger Moscow Challenger Cordenons Challenger Meknes Challenger Portugal Open - Oeiras Mendoza Challenger Rio De Janeiro Challenger Santo Domingo Challenger Medjurgorje Open - Medjugorje Santiago Challenger Barletta Challenger Grand Prix Hassan II - Casablanca Portugal Open - Oeiras Bordeaux Challenger Ecuador Open - Quito Barcelona Open BancSabadell - Barcelona Lyon Challenger Perugia Challenger Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Milan Challenger Bastad Challenger Maharashtra Open - Pune Cortina Challenger SkiStar Swedish Open - Bastad Fano Challenger Meerbusch Challenger Genova Challenger Seville Challenger Memorial A. Manfredini Sassuolo Challenger - Sassuolo Kenitra Challenger Tata Open Maharashtra - Pune Casablanca Challenger Argentina Open - Buenos Aires Cordoba Open - Cordoba Barcelona Open Banc Sabadell - Barcelona Turkish Airlines Open Antalya - Antalya Brasil Open - Sao Paulo Fever-Tree Championships - London Swiss Open - Gstaad SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Kremlin Cup - Moscow Zagreb Open - Zagreb Argentina Open - Buenos Aires Estoril Open - Estoril Nord LB Open - Braunschweig Forte Village Sardegna Open - Sardinia Santiago Open - Santiago Sibiu Challenger Chile Dove Men+Care Open - Santiago Santiago Challenger Great Ocean Road Open - Melbourne Cordoba Open - Cordoba Serbia Open - Belgrade Millennium Estoril Open - Estoril Rome Challenger Trani Challenger Estoril Open - Estoril Mallorca Championships - Mallorca San Marino Challenger Nordea Open - Bastad Biella Challenger Adelaide International 1 - Adelaide Adelaide International 2 - Adelaide Sofia Challenger Turin Challenger Bordeaux Challenger Rio Open - Rio de Janeiro Estoril Open - Estoril Tunis Challenger Argentina Open - Buenos Aires Grand Prix Hassan II - Marrakech Millennium Estoril Open - Estoril Rio Open - Rio de Janeiro Noumea Challenger Plava Laguna Croatia Open - Umag Marbella Challenger Lima Challenger Tata Open Maharashtra - Pune Santiago Challenger Marbella Challenger Aix En Provence Challenger Murcia Challenger Medibank International - Sydney Lyon Challenger Marbella Challenger Tunis Challenger Alessandria Challenger Shenzhen Challenger Sao Jose Do Rio Preto Challenger Como Challenger Palermo Challenger Seville Challenger Movistar Open - Santiago Prostejov Challenger Sao Jose Do Rio Preto Challenger UTC Open by Selena - Cherkassy Lugano Challenger Sao Leopoldo Challenger Estoril Open - Estoril Czech Open - Prostejov Padova Challenger Turin Challenger Montevideo Challenger Open de Montauban - Montauban BCR Open Romania - Bucharest Sao Paulo Challenger Tour Finals Orbetello Challenger Asuncion Challenger Grand Prix Hassan II - Casablanca Alicante Challenger Noumea Challenger Estoril Open - Estoril Oberstaufen Challenger Rio Open - Rio de Janeiro Fergana Challenger - Fergana Guangzhou Challenger Canberra Challenger Black Forest Open - Freudenstadt Trani Challenger Trnava Challenger Copa Petrobras-Brazil - Aracaju Challenger Copa Sevilla - Seville Tanger Challenger Guayaquil Challenger Marrakech Challenger Pozoblanco Challenger San Benedetto Challenger Lima Challenger Belgrade 2 - Belgrade Barcelona Open BancSabadell - Barcelona Akbank Private Banking TED Open - Istanbul Bordeaux Challenger Grand Prix Hassan II - Casablanca Cordoba Open - Cordoba Sofia Open - Sofia Generali Open - Kitzbuhel Rio Open - Rio de Janeiro Aircel Chennai Open - Chennai BMW Open - Munich Gonet Geneva Open - Geneva Barcelona Open BancSabadell - Barcelona Argentina Open - Buenos Aires Millennium Estoril Open - Estoril Ecuador Open - Quito Brasil Open - Sao Paulo Millennium Estoril Open - Estoril TEB BNP Paribas Istanbul Open - Istanbul SkiStar Swedish Open - Bastad Challenger Britania Zavaleta - Puebla Generali Open - Kitzbuhel Ecuador Open - Quito Argentina Open - Buenos Aires Cordenons Challenger Medellin Challenger Seville Challenger Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Antalya Cup - Antalya Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Argentina Open - Buenos Aires European Open - Antwerp Anytech365 Andalucia Open - Marbella Barcelona Open BancSabadell - Barcelona Barcelona Open Banc Sabadell - Barcelona Firenze Open - Florence Tennis Napoli Open - Naples Cordoba Open - Cordoba Argentina Open - Buenos Aires Chile Dove Men+Care Open - Santiago Grand Prix Hassan II - Marrakech Erste Bank Open - Vienna Abierto Mexicano Telcel - Acapulco Swiss Open - Gstaad Rio Open - Rio de Janeiro Terra Wortmann Open - Halle Sony Ericsson Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid Monte-Carlo Rolex Masters - Monte-Carlo Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Mutua Madrid Open - Madrid BNP Paribas Masters - Paris Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Miami Open - Miami Rolex Paris Masters - Paris Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Mallorca Championships - Mallorca French Open - Paris Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York French Open - Paris French Open - Paris French Open - Paris Wimbledon - London Australian Open - Melbourne Wimbledon - London U.S. Open - New York French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne U.S. Open - New York U.S. Open - New York French Open - Paris Wimbledon - London French Open - Paris French Open - Paris Miami Open - Miami Davis Cup, Group 2, 2R, SCG-POR 5-0 Davis Cup, Group 2, 3R, POR-SLO 4-1 Davis Cup, Group 1, 1R, LUX-POR 4-1 Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Wimbledon - London Davis Cup, Group 2, PO, ALG-POR 0-5 Mutua Madrid Open - Madrid Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 2R, SUI-POR 5-0 French Open - Paris Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 2R, POR-LTU 5-0 Davis Cup, Group II, 2R, POR-FIN 4-1 Sony Ericsson Open - Miami French Open - Paris Australian Open - Melbourne Australian Open - Melbourne Australian Open (juniors) French Open (juniors) Wimbledon (juniors) Australian Open - Melbourne U.S. Open - New York Miami Open - Miami All Lower level tournaments Australian Open - Melbourne Wimbledon - London French Open - Paris Internazionali BNL d'Italia - Rome U.S. Open - New York Davis Cup, Group 2, 1R, POR-DEN 4-1 Salzburg Challenger Davis Cup, Group 2, 2R, POR-ALG 3-2 Davis Cup, Group 1, 1R, GEO-POR 3-2 Davis Cup, Group 2, 2R, POR-TUN 4-1 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Australian Open - Melbourne Wimbledon - London Olympics - Tokyo Wimbledon - London EFG Swiss Open - Gstaad Plava Laguna Croatia Open - Umag Generali Open - Kitzbuhel Seville Challenger U.S. Open - New York Malaga Challenger Astana Open - Astana Bad Waltersdorf Challenger Shanghai Rolex Masters - Shanghai European Open - Antwerp Rolex Paris Masters - Paris Sofia Open - Sofia ASB Classic - Auckland Barcelona Open Banc Sabadell - Barcelona Cordoba Open - Cordoba Australian Open - Melbourne Argentina Open - Buenos Aires Braunschweig Challenger Miami Open - Miami BNP Paribas Open - Indian Wells Rio Open - Rio de Janeiro Movistar Chile Open - Santiago Phoenix Challenger Grand Prix Hassan II - Marrakech French Open - Paris Bordeaux Challenger Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid Gonet Geneva Open - Geneva Mallorca Championships - Mallorca Wimbledon - London National Bank Open - Montreal Nordea Open - Bastad Rolex Paris Masters - Paris Citi Open - Washington Generali Open - Kitzbuhel Seville Challenger Hangzhou Open - Hangzhou U.S. Open - New York China Open - Beijing Shanghai Rolex Masters - Shanghai European Open - Antwerp Moselle Open - Metz Davis Cup, World Group, Q, SUI-ESP 1-3 Rio Open - Rio de Janeiro Australian Open - Melbourne BNP Paribas Open - Indian Wells Dallas Open - Dallas Abierto Mexicano Telcel - Acapulco Argentina Open - Buenos Aires Hong Kong Tennis Open - Hong Kong ASB Classic - Auckland Miami Open - Miami Barcelona Open Banc Sabadell - Barcelona Internazionali BNL d'Italia - Rome National Bank Open - Toronto Grand Prix Hassan II - Marrakech U.S. Open - New York Braunschweig Challenger Wimbledon - London EFG Swiss Open - Gstaad Cincinnati Open - Cincinnati Plava Laguna Croatia Open - Umag Seville Challenger Bad Waltersdorf Challenger